/*
 * network.h
 *
 *  Created on: 11.04.2012
 *      Author: delgado
 */

#ifndef NETWORK_H_
#define NETWORK_H_
#include <list>
using std::list;
#include <map>
using std::map;
#include <iostream>
using std::ostream;

namespace neurignacio{

typedef unsigned int number_t;
typedef float real;
typedef unsigned int Neuron;
typedef list<Neuron> NeuronList;

typedef  map<Neuron, NeuronList> AdjacencyGraph;

class Topology : public AdjacencyGraph
{
public:
	number_t n;
	real c;
public:
	Topology(const number_t n, const real c=0);
	friend ostream& operator<<(ostream& out, Topology& topology);
};

} // end namespace neurignacio


#endif /* NETWORK_H_ */
